## 背景

某个处于进程中的程序(如exe)需要调用python程序,如果运行python过程中想要实时调试,可以利用VSCode操作。

方法

  1. 首先确保正在运行的这个程序能让你调试,即如果是交互型的场景(如标准输入输出流),需要让程序进入debug模式;
  2. Python程序(.py文件)里,在想要debug的代码前加入sleep,确保有足够的时间attach到进程,如:
1
2
3
import time

time.sleep(10) #时间自定义
  1. VSCode按F5选择【使用ID进行附加】,也就是【Attach using process ID】
    使用进程ID进行附加
  2. 运行主程序,同时开启CMD输入:
    1
    tasklist | find "python"
    复制主程序调用的PID;或者直接去任务管理器查看主程序调用的python.exe的PID,注意不要和VSCode发起的python.exe混淆!

如果有更好的方法烦请各位读者留言,感激不尽!

  1. 回到VSCode,在上方弹窗【选择要附加到的进程】中输入PID,回车即可。可以提前在代码块中设置断点,这样在attach之后就能进行debug了~